home *** CD-ROM | disk | FTP | other *** search
-
- /*
- コンピューターのターンのサブルーチンの宝取得のサブルーチン
-
- By 五味
- */
-
- #include <stdio.h>
- #include <sub.h>
-
- extern int i,j,o,k[],x[],y[],bx[],by[],gold,be[],hp[];
- extern char *nn[];
- extern long xx,yy,zz;
-
- struct treasure
- {
- char *tname;
- int plice;
- };
-
- #include "treasure.dat" /* 宝物のデータを読み込む */
-
- get_tre()
- {
- if( k[i]!=-1 )
- {
- for( j=0 ; j<30 ; j++ )
- {
- xx =bx[j]-x[i];
- yy =by[j]-y[i];
- xx *=xx;
- yy *=yy;
- if( xx+yy<100 )
- {
- bx[j] = random(200);
- by[j] = random(200);
- if( random(2)==0 )
- {
- o = random(TREA);
- printf(" 第%d部隊の%sが、%sを発見したようです。\n",i+1,nn[k[i]],tre[o].tname);
- getch();
- if( random(101)<be[k[i]] )
- {
- printf(" %sは%sを売って、金貨%d枚を送ってきました。\n\n",nn[k[i]],tre[o].tname,tre[o].plice);
- getch();
- if( gold+tre[o].plice > gold )
- gold += tre[o].plice;
- else
- gold = 32767;
- }
- else
- {
- if( random(5) > hp[k[i]] )
- {
- printf(" %sは、%sを持ってどこかへ失踪しました。\n\n",nn[k[i]],tre[o].tname);
- getch();
- k[i] = -1;
- }
- else
- {
- printf(" %sは、%sを自分のふところに入れた様です。\n\n",nn[k[i]],tre[o].tname);
- getch();
- }
- }
- }
- else
- {
- printf(" 第%d部隊の%sが、敵の金倉を発見したようです。\n",i+1,nn[k[i]]);
- getch();
- o = random(451)+50;
- if( random(101)<be[k[i]] )
- {
- printf(" %sは、見つかった金貨%d枚を送ってきました。\n\n",nn[k[i]],o);
- getch();
- if( gold+o > gold )
- gold += o;
- else
- gold = 32767;
- }
- else
- {
- if( random(5) > hp[k[i]] )
- {
- printf(" %sは、見つかった金貨%d枚を持って失踪しました。\n\n",nn[k[i]],o);
- getch();
- k[i] = -1;
- }
- else
- {
- printf(" %sは、金貨%d枚を自分のふところに入れた様です。\n\n",nn[k[i]],o);
- getch();
- }
- }
- }
- break; /* 宝物は一回に一個 */
- }
- }
- }
-
- }
-